package com.edu.nf.implement;

import com.edu.nf.handle.RowProcessor;
import com.edu.nf.interfaces.ResultSetHandler;

import java.sql.ResultSet;
import java.sql.SQLException;

public class BeanHandler<T> implements ResultSetHandler<T> {

    private Class<T> type;

    public BeanHandler(Class<T> type){
        this.type = type;
    }

    public T handle(ResultSet rs) throws SQLException {
        /**
         * while(rs.next()) //就是 将rs全部进行读取
         if(rs.next()) //rs进行读取一次 判断是否有数据
         每rs.next()一次指针都会向后移动一位，指向下一条记录。
         */
        return rs.next() ? RowProcessor.toBean(rs, type) : null;
    }
}
